package com.mynotes.notes.utils;

import android.content.Context;
import android.graphics.Bitmap;

import com.mynotes.notes.R;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;

public class imageLoader {
	static ImageLoader imageloader;
	static ImageLoaderConfiguration config;
	public static DisplayImageOptions options;

	@SuppressWarnings("deprecation")
	public static ImageLoader getLoader(Context context) {
		if (imageloader == null) {
			config = new ImageLoaderConfiguration.Builder(context)
					.memoryCacheExtraOptions(480, 800)
					// 保存的每个缓存文件的�?大长�?
					.threadPoolSize(5)
					// 线程池内加载的数量 �?
					.threadPriority(3)
					// 线程池内线程的优先级
					.denyCacheImageMultipleSizesInMemory()
					// 将保存的时�?�的URI名称用MD5 加密
					.discCacheFileNameGenerator(new Md5FileNameGenerator())
					.tasksProcessingOrder(QueueProcessingType.LIFO)
					.discCacheFileCount(100)// 缓存的文件数�?
//					.threadPriority(3).imageDownloader(new BaseImageDownloader(context, 10*1000, 10*1000))
					// .discCache(new UnlimitedDiskCache(cacheDir))//自定义缓存路径  �?
					.writeDebugLogs()//  Remove for release app
					.build();// �?始构�?

			imageloader = ImageLoader.getInstance();
			imageloader.init(config);

			options = new DisplayImageOptions.Builder()
					.showImageOnLoading(R.drawable.nuli)// 设置图片在下载期间显示的图片  
					.showImageForEmptyUri(R.drawable.nopic)// 设置图片Uri为空或是错误的时候显示的图片  
					.showImageOnFail(R.drawable.nopic)// 设置图片加载/解码过程中错误时候显示的图片
					.cacheInMemory(true)// 设置下载的图片是否缓存在内存中 �?
					.cacheOnDisc(true)// 设置下载的图片是否缓存在SD卡中  
					.considerExifParams(true)// 是否考虑JPEG图像EXIF参数（旋转，翻转�?
					.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)// 设置图片以如何的编码方式显示  
					.bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类�?//  
					.resetViewBeforeLoading(true)// 设置图片在下载前是否重置，复位 �?
					.displayer(new RoundedBitmapDisplayer(20))// 是否设置为圆角，弧度为多少 �?
					.displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间 �?
					.build();// 构建完成  
		}
		return imageloader;
	}
}
